GNU Screen

GNU Screen

GNU Screen with split-screen
Developer(s) GNU Project
Initial release 1987
Stable release 4.0.3  (August 8, 2008; 3 years ago (2008-08-08)) [±]
Preview release none [±]
Written in C
Operating system Unix-like
Available in ?
Type Command line interface
License GNU General Public License
Website http://www.gnu.org/software/screen/

GNU Screen is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the Unix shell that started the program.

Released under the terms of version 3 or later of the GNU General Public License, GNU Screen is free software.

Contents

Features

GNU Screen can be thought of as a text version of graphical window managers, or as a way of putting virtual terminals into any login session. It is a wrapper that allows multiple text programs to run at the same time, and provides features that allow the user to use the programs within a single interface productively.

Persistence
Similar to VNC, GNU Screen allows the user to start applications from one computer, and then reconnect from a different computer and continue using the same application without having to restart it. This makes migration between locations like work and home simple. Screen provides terminal-agnostic functionality so that users can disconnect and reconnect using different terminal types, allowing applications to continue running without being aware of the change in terminals.
Multiple windows
Multiple terminal sessions can be created, each of which usually runs a single application. The windows are numbered, and the user can use the keyboard to switch between them. Some GUI terminal emulators provide tabs or otherwise similar functionality to this. Each window has its own scroll-back buffer, so that output is captured even when the window isn't actively displayed, and that history can be saved even when migrating to another computer. Windows can be split-screened. While some text applications have this functionality built in, Screen allows any application to be split-screened alongside any number of other applications.
Session Sharing
Screen allows multiple computers to connect to the same session at once, allowing collaboration between multiple users. The same computer can also be used to make multiple simultaneous connections, providing alternative functionality to screen-splitting, particularly for computers with multiple monitors.

History

Screen was originally designed by Oliver Laumann and Carsten Bormann and published in 1987.[1]

Design criteria included faithful VT100 emulation (including ANSI X3.64 (ISO 6429) and ISO 2022) and reasonable performance for heavy daily use when character-based terminals were still common. Later, the at-the-time novel feature of disconnection/reattachment was added.

Ca. 1990 Oliver Laumann handed over maintenance of the code to Jürgen Weigert and Michael Schroeder at the University of Erlangen-Nuremberg, who later moved the project to the GNU Project and added features such as split-screen, cut-and-paste, and screen-sharing.[2]

Other terminal multiplexers

Other text-mode multiplexers offer similar functionality. These include:

See also

Notes

  1. ^ "BSD screen manager -- Part 1 of 2 - (nf)". net.sources. 20 Mar 1987. (Web link). Retrieved 11 Jun 2009. 
  2. ^ screen ftp
  3. ^ "SplitVT", Free Software Directory, http://directory.fsf.org/wiki/SplitVT, retrieved 2011-12-07 
  4. ^ Georg C. F. Greve Twin, Brave GNU World, Issue #47, 2003, also appeared in [1], Linux Magazine, April 2003
  5. ^ (German) Andrea Müller (Dec 2003) deskTOPia: twin. Frei von XFree (Free from XFree), LinuxUser
  6. ^ And what about Twin? (Twin homepage)
  7. ^ "dvtm", homepage, http://www.brain-dump.org/projects/dvtm/, retrieved 2011-12-07 
  8. ^ (German) Mathias Huber (21 Jan 2009) Video: Tmux 0.6 als Alternative zu GNU Screen, Linux Magazine
  9. ^ (German) Uwe Vollbracht, Tooltipps. Tmux 0.9, Linux Magazine, Sept 2009
  10. ^ http://tmux.sourceforge.net/
  11. ^ de Weerd, Paul (2009-07-12). "Interview with Nicholas Marriott on tmux". OpenBSD Journal. http://undeadly.org/cgi?action=article&sid=20090712190402. 
  12. ^ "OpenBSD Upgrade Guide 4.6". The OpenBSD Project. http://www.openbsd.org/faq/upgrade46.html#newtmux. Retrieved 03 Sep 2011. "tmux(1) has moved from being a port to being part of the base system." 

References

  • Martin Streicher (10 Feb 2009) Speaking UNIX: Stayin' alive with Screen, IBM developerWorks
  • Philip J. Hollenback (22 Aug 2006) Using screen for remote interaction, Linux.com
  • Adam Lazur (January 2003) Power Sessions with Screen, Linux Journal, issue 105
  • William Von Hagen, Brian K. Jones, Linux server hacks, Volume 2, O'Reilly Media, 2005, ISBN 0596100825, pp. 155–157 (Hack #34)
  • Carl Albing, J. P. Vossen, Cameron Newham, Bash cookbook, O'Reilly Media, 2007, ISBN 0596526784, pp. 415–418
  • Dru Lavigne, BSD hacks, O'Reilly Media, 2004, ISBN 0596006799, pp. 44–48 (Hack #12)
  • Noah Gift, Jeremy Jones, Python for Unix and Linux system administration, O'Reilly Germany, 2008, ISBN 0596515820, pp. 300–301
  • Paul Mutton, IRC hacks, O'Reilly Media, 2004, ISBN 059600687X, pp. 345–349 (Hack #92)

Further reading

External links